package com.achf.siap.cs.beans.dicionario;

import com.achf.siap.cd.dao.dicionario.DicionarioDadosDAO;
import com.achf.siap.cd.entidade.base.PagedList;
import com.achf.siap.cd.entidade.dicionario.DicionarioDados;
import com.achf.siap.cs.interfaces.dicionario.DicionarioDadosHandlerLocal;
import com.achf.siap.cs.interfaces.dicionario.DicionarioDadosHandlerRemote;
import java.util.List;
import javax.ejb.Stateless;

/**
 *
 * @author Aureliano
 */
@Stateless
public class DicionarioDadosHandlerBean implements
        DicionarioDadosHandlerRemote, DicionarioDadosHandlerLocal {

    public static final String REMOTE_JNDI_NAME =
            DicionarioDadosHandlerBean.class.getSimpleName() + "/remote";
    public static final String LOCAL_JNDI_NAME =
            DicionarioDadosHandlerBean.class.getSimpleName() + "/local";

    @Override
    public void save(DicionarioDados dicionarioDados) {
        DicionarioDadosDAO dao = new DicionarioDadosDAO();
        dao.save(dicionarioDados);
    }

    @Override
    public void delete(DicionarioDados dicionarioDados) {
        DicionarioDadosDAO dao = new DicionarioDadosDAO();
        dao.delete(dicionarioDados);
    }

    @Override
    public DicionarioDados load(Long id) {
        DicionarioDadosDAO dao = new DicionarioDadosDAO();
        return dao.load(id);
    }

    @Override
    public DicionarioDados get(Long id) {
        DicionarioDadosDAO dao = new DicionarioDadosDAO();
        return dao.get(id);
    }

    @Override
    public List<DicionarioDados> listAll() {
        DicionarioDadosDAO dao = new DicionarioDadosDAO();
        return dao.listAll();
    }

    @Override
    public PagedList<DicionarioDados> listAll(int first, int max) {
        DicionarioDadosDAO dao = new DicionarioDadosDAO();
        int maxElements = dao.listAllPageCount();
        List<DicionarioDados> data = dao.listAll(first, max);
        
        return new PagedList<DicionarioDados>(maxElements, data);
    }

    @Override
    public List<DicionarioDados> findByExample(DicionarioDados dicionarioDados) {
        DicionarioDadosDAO dao = new DicionarioDadosDAO();
        return dao.findByExample(dicionarioDados);
    }

    @Override
    public PagedList<DicionarioDados> findByExample(DicionarioDados dicionarioDados, int first, int max) {
        DicionarioDadosDAO dao = new DicionarioDadosDAO();
        int maxElements = dao.findByExamplePageCount(dicionarioDados);
        List<DicionarioDados> data = dao.findByExample(dicionarioDados, first, max);

        return new PagedList<DicionarioDados>(maxElements, data);
    }
}